//package com.yishan.foreach;
//
//import java.util.ArrayList;
//import java.util.Iterator;
//import java.util.List;
//import java.util.concurrent.CopyOnWriteArrayList;
//
///**
// * @Author yishan
// * @Date 2021/10/19 0019 13:23
// * @Version 1.0
// */
//public class RemoveDemo {
//
//	//并发修改异常
//	public static void main(String[] args) {
//		//会产生并发修改异常
//		//ConcurrentModificationException_for();
//		//ConcurrentModificationException_iter();
//
//		//不会产生并发修改异常
//		//iteratorRemove();
//		CopyOnWriteArrayList();
//	}
//
//	/**
//	 * CopyOnWriteArrayList 不会产生并发修改异常
//	 */
//	private static void CopyOnWriteArrayList() {
//		List<String> list = new CopyOnWriteArrayList<>();
//
//		for (int i = 0; i < 10; i++) {
//			list.add(i + "");
//		}
//		System.out.println(list);
//
//		Iterator<String> iterator = list.iterator();
//		while (iterator.hasNext()) {
//			String str = iterator.next();
//			if ("5".equals(str)) {
//				list.remove(5);
//			}
//		}
//		System.out.println(list);
//	}
//
//	/**
//	 * iterator.remove()方法可在迭代器遍历中删除元素
//	 */
//	private static void iteratorRemove() {
//		List<String> list = new ArrayList<>();
//
//		for (int i = 0; i < 10; i++) {
//			list.add(i + "");
//		}
//		System.out.println(list);
//
//		Iterator<String> iterator = list.iterator();
//		while (iterator.hasNext()) {
//			String str = iterator.next();
//			if ("5".equals(str)) {
//				iterator.remove();
//			}
//		}
//		System.out.println(list);
//	}
//
//	/**
//	 * 迭代器
//	 */
//	private static void ConcurrentModificationException_iter() {
//		List<String> list = new ArrayList<>();
//
//		for (int i = 0; i < 10; i++) {
//			list.add(i + "");
//		}
//		System.out.println(list);
//
//		Iterator<String> iterator = list.iterator();
//		while (iterator.hasNext()) {
//			String str = iterator.next();
//			if ("5".equals(str)) {
//				list.remove(5);
//			}
//		}
//		System.out.println(list);
//	}
//
//	/**
//	 * 增强for遍历
//	 */
//	private static void ConcurrentModificationException_for() {
//		List<String> list = new ArrayList<>();
//
//		for (int i = 0; i < 10; i++) {
//			list.add(i + "");
//		}
//		System.out.println(list);
//
//		for (String o : list) {
//			if ("5".equals(o)) {
//				list.remove(5);
//			}
//		}
//		System.out.println(list);
//	}
//
//}
